
*, *:before, *:after {
    margin:0;
    padding:0;
    -webkit-box-sizing:border-box;
    -moz-box-sizing:border-box;
    box-sizing:border-box;
  }
 #gal {
    position:relative;
    width:100%;
    height:400px;
    margin:0 auto;
  }
  #gal:after {
    content:'';
    position:absolute;
    bottom:24px;
    right:0;
    left:0;
    width:100%;
    height:1px;
    background:rgba(255,255,255,0.35);
    z-index:3;
  }
  #gal ul {list-style-type:none;}
  input[type="radio"], input[type="radio"] + label {
    position:absolute;
    bottom:15px;
    display:block;
    width:20px;
    height:20px;
    -webkit-border-radius:50%;
    -moz-border-radius:50%;
    border-radius:50%;
    cursor:pointer;
  }
  input[type="radio"] {
    opacity:0;
    z-index:9;
  }
  input[value="one"], input[value="one"] + label {left:0px;}
  input[value="two"], input[value="two"] + label {left:400px;}
  input[value="three"], input[value="three"] + label {right:400px;}
  input[value="four"], input[value="four"] + label {right:0px;}
  input[type="radio"] + label {
    background:rgba(255,255,255,0.35);
    z-index:7;
    -webkit-box-shadow:0px 0px 0px 0px rgba(255,255,255,0.15);
    -moz-box-shadow:0px 0px 0px 0px rgba(255,255,255,0.15);
    box-shadow:0px 0px 0px 0px rgba(255,255,255,0.15);
    -webkit-transition:all .3s;
    -moz-transition:all .3s;
    -o-transition:all .3s;
    transition:all .3s;
  }
  [class*="entypo-"]:before {
    position:absolute;
    font-family: 'entypo', sans-serif;
  }
  figure[class*="entypo-"]:before {
    left:10px;
    top:5px;
    font-size:2rem;
    color:rgba(255,255,255,0);
    z-index:1;
    -webkit-transition:color .1s;
    -moz-transition:color .1s;
    -o-transition:color .1s;
    transition:color .1s;
  }
  figure, figure img, figcaption {
    position:absolute;
    top:0;
    right:0;
  }
  figure {
    bottom:0;
    left:0;
    width:100%;
    height:400px;
    display:block;
    overflow:hidden;
  }
  figure img {
    bottom:0;
    left:0;
    display:block;
    width:100%;
    height:400px;
    z-index:1;
    -webkit-transform:translateX(1200px);
    -moz-transform:translateX(1200px);
    -ms-transform:translateX(1200px);
    -o-transform:translateX(1200px);
    transform:translateX(1200px);
    -webkit-transition:all .15s .15s, z-index 0s;
    -moz-transition:all .15s .15s, z-index 0s;
    -o-transition:all .15s .15s, z-index 0s;
    transition:all .15s .15s, z-index 0s;
  }
  input[type="radio"]:hover + label {
    background:rgba(255,255,255,0.6);
  }
  input[type="radio"]:checked + label {
    background:rgba(255,255,255,1);
    -webkit-box-shadow:0px 0px 0px 5px rgba(255,255,255,0.3);
    -moz-box-shadow:0px 0px 0px 5px rgba(255,255,255,0.3);
    box-shadow:0px 0px 0px 5px rgba(255,255,255,0.3);
  }
  input[type="radio"]:checked + label:before {}
  input[type="radio"]:checked ~ figure img {
    z-index:2;
    -webkit-transform:translatex(0px);
    -moz-transform:translatex(0px);
    -ms-transform:translatex(0px);
    -o-transform:translatex(0px);
    transform:translatex(0px);
    -webkit-transition:all .15s, z-index 0s;
    -moz-transition:all .15s, z-index 0s;
    -o-transition:all .15s, z-index 0s;
    transition:all .15s, z-index 0s;
  }
  input[type="radio"]:checked ~ figure[class*="entypo-"]:before {
    z-index:3;
    color:rgba(255,255,255,0.5);
    -webkit-transition:color .5s;
    -moz-transition:color .5s;
    -o-transition:color .5s;
    transition:color .5s;
  }
  input[type="radio"]:checked ~ figure figcaption {
    z-index:8;
    -webkit-transform:translateX(0px);
    -moz-transform:translateX(0px);
    -ms-transform:translateX(0px);
    -o-transform:translateX(0px);
    transform:translateX(0px);
    -webkit-transition:all .35s, .7s;
    -moz-transition:all .35s, .7s;
    -o-transition:all .35s, .7s;
    transition:all .35s, .7s;
  }